home *** CD-ROM | disk | FTP | other *** search
/ The AGA Experience 2 / agavol2.iso / software / utilities / emulation / zx files / tech / 1 next >
Text File  |  1992-03-06  |  11KB  |  243 lines

  1.  
  2.     The DISCiPLE and Plus D Interfaces - Introduction
  3.  
  4.  
  5.     The DISCiPLE and Plus D were two disk interfaces for the spectrum
  6.     designed by M.G.T. (Miles Gordon Technology).  The first of these
  7.     interfaces was the DISCiPLE, this interface consisted of a disk
  8.     interface, microdrive network compatible interface, parallel printer
  9.     interface, 2 joystick ports (emulating kempston, cursor, and Sinclair 1
  10.     and 2).  The unit also had an inhibit button which disabled the
  11.     interface hardware (except the joystick ports), and finally a snapshot
  12.     button which when pressed stopped the computer to allow the program to
  13.     be saved to disk or the screen to be printed.  This was made by
  14.     Rockfort.
  15.  
  16.     The Plus D was the second of the interfaces, this was a cut-down
  17.     version of the DISCiPLE, this interface only had a disk interface,
  18.     parallel printer interface and a snapshot button.
  19.  
  20.     Both interfaces had a D.O.S. (Disk Operating System) which was partly
  21.     ROM (8K) and partly RAM (8K).  When the spectrum was turned on, the ROM
  22.     part of the D.O.S. was in control and whenever the command RUN was
  23.     issued the ROM tries to load up the RAM part of the D.O.S. from floppy
  24.     disk.  The advantage of this is that the D.O.S. can be upgraded without
  25.     having to change chips over (unless of course it was a major upgrade!).
  26.     Another advantage was that D.O.S. extensions could be incorporated or
  27.     replace other systems (see later).
  28.  
  29.     With both interfaces, they extended the BASIC commands, but unlike the
  30.     microdrives and several other types of drives available, the DISCiPLE
  31.     and Plus D took up none of the spectrum's RAM, therefore it was the
  32.     most invisible of the disk systems available, not only that, but the
  33.     DISCiPLE and Plus D used the same type of disk drives as the BBC micro,
  34.     therefore disk drives were both cheap and widely available, also the
  35.     disks themselves were also standard, ie 5.25" (800K DS/DD), then later
  36.     3.5" (800K DS/DD).
  37.  
  38.  
  39.  
  40.     The DISCiPLE and Plus D Interfaces - The basic commands
  41.  
  42.  
  43.     There are several levels of commands that can be used, these range from
  44.     the most straightforward everyday use, to the more advanced, programmer
  45.     type commands.
  46.  
  47.     I will first explain the most common commands, so that you can quickly
  48.     and easily access DISCiPLE and Plus D disks.  Where a 1 is used in the
  49.     following commands 2 could be used instead.  These commands are:-
  50.  
  51.      RUN -   when no D.O.S. (system file) is loaded it will cause this to
  52.              be loaded. Otherwise it will just run the BASIC PROGRAM.  Please
  53.              note that with the emulator the system file is already loaded,
  54.              therefore this command is not required, although I have
  55.              explained it for completeness.
  56.  
  57.      CAT 1 - will display a longhand catalogue of the disk drive selected.
  58.              The form of this catalogue is as follows:-
  59.  
  60.                     program no., program name, sectors used, file type,
  61.                     file size
  62.  
  63.      CAT * - will display a longhand catalogue of the currently selected disk
  64.              drive in the same form as described above.
  65.  
  66.      CAT 1! - displays a shorthand catalogue of the disk drive selected.
  67.               This catalogue consists of a 3 column list of the filename of
  68.               the programs.
  69.  
  70.      CAT *! - displays a shorthand catalogue of the current disk drive.
  71.  
  72.      LOAD pn - p - letter p, n - number between 1 & 80.  This is the program
  73.                number of the file on the disk, the program number is the
  74.                number printed before the name in the longhand catalogue.
  75.  
  76.      LOAD d1"name" - load from drive 1 the program called name
  77.  
  78.      LOAD d*"name" - load from the current drive the program called name
  79.  
  80.      LOAD d1"name" S - load an 48K snapshot from drive 1 called name
  81.  
  82.      LOAD d1"name" K - load an 128K snapshot from drive 1 called name
  83.  
  84.      LOAD d1;a$ - load from drive 1 the program whose name is held in the
  85.                   string a$
  86.  
  87.      LOAD d*;a$ - load from the current drive the program whose name is held
  88.                   in the string a$
  89.  
  90.      FORMAT d1 -  format the disk in drive 1
  91.  
  92.  
  93.  
  94.  
  95.     The DISCiPLE and Plus D Interfaces - More advanced commands
  96.  
  97.  
  98.     In the previous section I explained enough of the commands so that you
  99.     could get to use the floppy disks with DISCiPLE/Plus D software on. Now
  100.     I am going to explain the commands that the more experienced user and
  101.     those who want to do just a little bit more than just load the
  102.     programs.
  103.  
  104.     First of all comes the simple commands of SAVE, MERGE, VERIFY and LOAD.
  105.     All of these commands are the same as rge tape versions except that you
  106.     have d1, d2 or d* after the LOAD, SAVE etc.  There are only two
  107.     exceptions to this rule, the first is when you have a string for the
  108.     filename, in this case the command becomes:-
  109.  
  110.              LOAD d1;n$ ....... etc
  111.              LOAD d*;n$ ....... etc
  112.  
  113.     The second exception is actually an extension.  When you save a code
  114.     block, you can actually get it to autorun when it is loaded by adding a
  115.     third parameter to the SAVE command, e.g. if you had a code block from
  116.     40000 to 45000 and the run address was 41023 and you wanted it to be
  117.     called testcode to drive 1, you would save it as:-
  118.  
  119.              SAVE d1"testcode"CODE 40000,5001,41023
  120.  
  121.     Now for the extensions.
  122.  
  123.     Any sector on the disk may be loaded to any area of RAM from 16384 to
  124.     65535-512. The sector may also be loaded into the RAM of the interface,
  125.     however caution should be used at all times when doing this, as you may
  126.     destroy the operating system or cause it to behave irrationally.
  127.  
  128.     The syntax of the command is:-
  129.  
  130.              LOAD @n,tr,sec,add
  131.  
  132.     Where:-
  133.  
  134.              n   = drive number, ie 1 or 2, note * may not be used!
  135.              tr  = track number => 0->79=side 0, 128->207=side 1
  136.              sec = sector number => 1->10 normally, may not be 0!  If you
  137.                                     try and load a sector that is sector 0,
  138.                                     then the operating system will crash!
  139.  
  140.     You may also save to disk in the same way, so if you wanted to write to
  141.     Track 5, Side 0, Sector 3 with code from 32768 to 33279 to drive 1 you
  142.     would type:-
  143.  
  144.              SAVE @1,5,3,32768
  145.  
  146.     To format a disk all you need to type is:-
  147.  
  148.              FORMAT d1       or       FORMAT d2
  149.  
  150.     This is not however as simple as it seems!  Although a disk formatted
  151.     on the DISCiPLE/Plus D will work with the PC it does not work the other
  152.     way round, i.e. a disk formatted on the PC with this emulator will not
  153.     necessarily work on the DISCiPLE/Plus D. This is because of differences
  154.     of the floppy disk controller chips.  With the PC, it puts a special
  155.     byte at the beginning of each track to tell the controller whether the
  156.     disk is Double Density or High Density, and the spectrum floppy disk
  157.     controller does not understand this byte and therefore will not read
  158.     the track!  If you find this otherwise, then please write and let us
  159.     know about it.
  160.  
  161.     You can set some of the D.O.S. system variables using an extended POKE
  162.     command. The syntax is:-
  163.  
  164.              POKE @address,value
  165.  
  166.     The address is the BASE address of the system variables of the
  167.     interface concerned, the BASE address for each of the interfaces is
  168.     different, but the address you use in the POKE command is the same.
  169.  
  170.  
  171.  
  172.  
  173.     The DISCiPLE and Plus D Interfaces - The snapshot button
  174.  
  175.  
  176.     The snapshot button is a button which is used to stop the processor
  177.     from executing instructions and making it do something else. In the
  178.     case of the DISCiPLE/PLUS D the button can do 5 different tasks
  179.     initially. Later on I'll discuss how the fuctions can be altered so
  180.     that it can do other tasks. Once these tasks are carried out, the
  181.     processor is returned to it's original state and the program continues
  182.     from where it left off from.
  183.  
  184.     There are 5 functions that can be carried out with the initial system
  185.     file.
  186.  
  187.     To use the button, first you must get to a point in the program that
  188.     you want to use the button at, then press the button on the emulator
  189.     the snapshot button is F5 (NMI).  Once you do this the program will
  190.     stop and the border of the computer will flash, this may also be
  191.     accompanied with a buzzing noise on the speaker.  This is to tell you
  192.     that the snapshot button has been activated.  The following functions
  193.     can then be carried out:-
  194.  
  195.         1   - Print screen to printer in black/white screen size
  196.         2   - Print screen to printer in grey scale A4 size
  197.         3   - Snapshot screen to disk in SCREEN$ format
  198.         4   - Snapshot program to disk in 48K SNAP format
  199.         5   - Snapshot program to disk in 128K SNAP format
  200.       SPACE - go back to program (ie if F5 was pressed by mistake)
  201.  
  202.     The printer options will print out to EPSON compatible printers,
  203.     however the DISCiPLE code has been changed and it is now possible to
  204.     print to HPGL printers (e.g. Deskjet and Laserjet printers).
  205.  
  206.     The Snapshot screen and snapshot 48K are very self explanatory and easy
  207.     to use.
  208.  
  209.     The Snapshot 128K is slightly more complicated.  Once you select this
  210.     option the disk drive will start up then after a slight pause the
  211.     screen display may/may not change.  The border flashes again and you
  212.     have to press y or n depending on whether the screen display changed or
  213.     not.  If the screen stayed the same then press n, but if the screen
  214.     changed type y.  This is because the 128K spectrum has 2 screens, and
  215.     there is no way for the computer to determine which is being used by
  216.     itself, therefore it needs the user's help.  After you press y or n the
  217.     program will be saved onto disk.
  218.  
  219.     Seeing it is possible for you to load programs into the DISCiPLE/PLUS D
  220.     RAM area it is possible to have these interfaces carry out other tasks.
  221.     The snapshot button code is located in RAM, so you can therefore load a
  222.     program into this part of the RAM and as soon as you press the snapshot
  223.     button it will execute the new program.  There is one problem however,
  224.     which is that the program must be written in assembly language and must
  225.     also be compiled for running in that part of RAM, also it must take
  226.     care of what it does because the SPECTRUM ROM is not paged in,
  227.     therefore ROM calls are not easily carried out.
  228.  
  229.     There are several different commercial programs which use the snapshot
  230.     button to carry out different tasks, some of these are:-
  231.  
  232.                         Snapshot compressing programs
  233.                         Debugging tools
  234.                         Cheat finders for games
  235.                         Programs to allow snapshots back onto tape
  236.  
  237.     The list is endless, and if you are capable of writing a machine-code
  238.     program and have the relevant information, then you too could write
  239.     your own programs.
  240.  
  241.  
  242.  
  243.